Example Scenario

Developing Applications Using The SoftwareShield System > Introduction to the SoftwareShield System > Understanding The SoftwareShield System > Example Scenario

## Example Scenario

For example, here are the basic steps to implementing a simple trial version of an application that expires and won't run 30 days after it is installed, unless the client purchases it from you:

1. You design and develop a License for your trial version application.

2. You test and debug it until you are ready for a release.

3. In your trial version installer package, you must distribute: (1) your application (naturally), (2) your distributed license, and the (3) SSCProt.dll (which must also be registered on the client machine through your installer package).

4. Your client receives your trial version (by download or disk) and installs your trial version (which copies the ClientProtector and license file onto the hard drive and registers the ClientProtector with the Windows system like any other COM server.

5. Your client runs the program. Every time the program starts - your program must invoke the ClientProtector to check its license. The ClientProtector decrypts the license and tells your application that it is an expiring trial version and that there are 30 days remaining in the trial period.

6. You can then display this information to your user and inform him how he can purchase the software by linking to your "Buy-Now" page or contacting you by phone, email or whatever you wish. During the trial period - you will probably want to have the program execute normally, but give the user the opportunity to enter an Activation Code if they have already decided to purchase it and have received the code from you.

7. After 30 days have gone by, when the user next starts the program, the ClientProtector will discover that the expire period has lapsed -informing your application. You will then probably choose to prompt the user that their free trial period is over and they must purchase the program to continue using it. You can also prompt them to input their Activation Code now if they have already purchased their copy. If they do not input a valid Activation Code - you terminate the program.

8. Once they have decided to purchase the program from you they must supply you an "Authorization Request Code" and of-course payment. Once you have successfully processed their payment (by hand or automatically through a web-merchant for example) you can then input into your SoftwareShield Manual-Activator their request code for the particular product you are selling. The Manual-Activator then determines if the request code is valid for that license and if so, constructs an Activation code to supply to the customer. With the Manual-Activator (which is a simple Windows application), you must manually enter their request code in order to generate the code to provide them. In the Internet Edition of the SoftwareShield System - this process can be completely automated and deployed on the web. (See diagram below) The Internet version once properly deployed allows you to have trial versions downloaded, evaluated, purchased and activated without any intervention from you at all; 24 hours a day, 7 days a week, 365 days a year.

9. Back at your customers computer - they receive their Activation Code from you. They restart the program (if it wasn't running already since the last step could have all happened in a matter of minutes if you have deployed the Web-Activator on the web) and enter the code. The ClientProtector then validates that the code is real, ensures that it was meant for this specific computer (if FingerPrinting is enabled) and updates the license file to reflect that the program should now run as a full version.

10. Now - every time the program starts, the ClientProtector opens the license to find that this is a fully functional version of the program, and executes without interruption.

The following diagram illustrates how the SoftwareShield System facilitates a simplified transaction using the Web-Activator (The flow of control is different for the CheckPoint License Server - this is shown as an example only):

###